<?php
// 应用公共文件

/**
 * 将数组转换为不带转义符的json格式
 * @param array $arr
 * @return string
 */
function echoJson(array $arr): string
{
    if (empty($arr)) {
        $arr = [];
    }
    return json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
}

/**
 * 输出当前时间格式为: 年-月-日 时:分:秒
 * @return string
 */
function echoNowDate(): string
{
    return date('Y-m-d H:i:s', time());
}

/**
 * 用数组中的某个key重新生成数组
 * @param array $array 数组
 * @param string $key 数组的key值
 * @param mixed $field 返回指定的字段
 * @return array
 */
function transArrayKey(array $array, string $key, $field = null): array
{
    if (empty($array)) {
        return [];
    }
    $ret = [];
    foreach ($array as $k => $v) {
        if (!is_array($v)) {
            return [];
        }

        if ($field && isset($v[$field])) {
            @$ret[$v[$key]] = $v[$field];
        } else {
            @$ret[$v[$key]] = $v;
        }
    }
    return $ret ?: [];
}

/**
 * 快速打印输出内容
 * @param $arr
 * @param $extra
 */
function P($arr, $extra = null)
{
    if (php_sapi_name() != 'cli') {
        echo "<pre>";
    }
    print_r($arr);
    echo PHP_EOL;
    if (!empty($extra)) {
        print_r($extra);
        echo PHP_EOL;
    }
}

/**
 * 快速打印输出内容并终止程序
 * @param $arr
 * @param $extra
 */
function PE($arr, $extra = null)
{
    P($arr, $extra);
    exit;
}